/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.foxinline.manager.pesquisar;

import br.com.foxinline.modelo.Protocolo;
import br.com.foxinline.servico.ProtocoloServico;
import br.com.foxinline.util.Msg;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

/**
 *
 * @author laverson
 */
@ViewScoped
@ManagedBean
public class ManagerProtocoloRecebido implements Serializable {

    @EJB
    ProtocoloServico protocoloServico;
    private Protocolo protocoloReceber;
    private Protocolo protocoloPesquisar;
    private List<Protocolo> protocolosReceber;
    private List<Protocolo> protocolosRecebidos;
    private List<Protocolo> protocolosSelecionados;
    private String protocolos;

    @PostConstruct
    public void init() {
        protocoloReceber = new Protocolo();
        protocoloPesquisar = new Protocolo();
        protocolosSelecionados = new ArrayList<Protocolo>();
        protocolosReceber = protocoloServico.protocolosRecebidos(null, false);
        protocolosRecebidos = new ArrayList<Protocolo>();
    }

    public void pesquisar() {
        protocolosRecebidos = protocoloServico.protocolosRecebidos(protocoloPesquisar, true);
    }

    public void recebido() {
        try {
            protocoloReceber.getTramites().get(protocoloReceber.getTramites().size() - 1).setRecebido(true);
            protocoloServico.atualizar(protocoloReceber);
            protocolosRecebidos.add(protocoloReceber);
            Msg.messagemInfo(Msg.SuccessFull);
        } catch (Exception e) {
            e.printStackTrace();
            Msg.messagemError(Msg.Failure);
        }
    }

    public void receberTodos() {
        if (!protocolosSelecionados.isEmpty()) {
            try {
                for (Protocolo p : protocolosSelecionados) {
                    p.getTramites().get(p.getTramites().size() - 1).setRecebido(true);
                    protocoloServico.atualizar(p);
                }

                protocolosReceber = protocoloServico.protocolosRecebidos(null, false);

                Msg.messagemInfo(Msg.SuccessFull);
            } catch (Exception e) {
                e.printStackTrace();
                Msg.messagemError(Msg.Failure);
            }
        }
    }

    public Protocolo getProtocoloPesquisar() {
        return protocoloPesquisar;
    }

    public void setProtocoloPesquisar(Protocolo protocoloPesquisar) {
        this.protocoloPesquisar = protocoloPesquisar;
    }

    public Protocolo getProtocoloReceber() {
        return protocoloReceber;
    }

    public void setProtocoloReceber(Protocolo protocoloReceber) {
        this.protocoloReceber = protocoloReceber;
    }

    public List<Protocolo> getProtocolosReceber() {
        return protocolosReceber;
    }

    public void setProtocolosReceber(List<Protocolo> protocolosReceber) {
        this.protocolosReceber = protocolosReceber;
    }

    public List<Protocolo> getProtocolosRecebidos() {
        return protocolosRecebidos;
    }

    public void setProtocolosRecebidos(List<Protocolo> protocolosRecebidos) {
        this.protocolosRecebidos = protocolosRecebidos;
    }

    public String getProtocolos() {
        return protocolos;
    }

    public void setProtocolos(String protocolos) {
        this.protocolos = protocolos;
    }

    public List<Protocolo> getProtocolosSelecionados() {
        return protocolosSelecionados;
    }

    public void setProtocolosSelecionados(List<Protocolo> protocolosSelecionados) {
        this.protocolosSelecionados = protocolosSelecionados;
    }
}
